From f3da0cf1ae96048bb84a083099faec0b0a736bf1 Mon Sep 17 00:00:00 2001 From: Tiger Wang Date: Thu, 5 Mar 2015 21:21:39 +0000 Subject: Reverted non-functional changes --- src/Blocks/BlockBed.cpp | 13 ++++++++----- src/Blocks/WorldInterface.h | 5 ----- src/ClientHandle.cpp | 3 ++- src/World.cpp | 25 ------------------------- src/World.h | 18 +----------------- 5 files changed, 11 insertions(+), 53 deletions(-) diff --git a/src/Blocks/BlockBed.cpp b/src/Blocks/BlockBed.cpp index 23cb5a042..e56f4bfe0 100644 --- a/src/Blocks/BlockBed.cpp +++ b/src/Blocks/BlockBed.cpp @@ -1,13 +1,9 @@ #include "Globals.h" #include "BlockBed.h" - - - #include "BroadcastInterface.h" #include "Entities/../World.h" #include "Entities/Player.h" -#include "WorldInterface.h" @@ -127,7 +123,14 @@ void cBlockBedHandler::OnUse(cChunkInterface & a_ChunkInterface, cWorldInterface a_Player->SetIsInBed(true); a_Player->SendMessageSuccess("Home position set successfully"); - a_WorldInterface.ScheduleTask(20, cWorld::cTaskTryAwakeSleepingPlayers(Vector3i(a_BlockX + PillowDirection.x, a_BlockY, a_BlockZ + PillowDirection.z), a_ChunkInterface)); + cTimeFastForwardTester Tester; + if (a_WorldInterface.ForEachPlayer(Tester)) + { + cPlayerBedStateUnsetter Unsetter(Vector3i(a_BlockX + PillowDirection.x, a_BlockY, a_BlockZ + PillowDirection.z), a_ChunkInterface); + a_WorldInterface.ForEachPlayer(Unsetter); + a_WorldInterface.SetTimeOfDay(0); + a_ChunkInterface.SetBlockMeta(a_BlockX, a_BlockY, a_BlockZ, Meta & 0x0b); // Clear the "occupied" bit of the bed's block + } } } else diff --git a/src/Blocks/WorldInterface.h b/src/Blocks/WorldInterface.h index dcb7eee00..106c314e7 100644 --- a/src/Blocks/WorldInterface.h +++ b/src/Blocks/WorldInterface.h @@ -11,7 +11,6 @@ typedef cItemCallback cBlockEntityCallback; class cMonster; class cPlayer; -class cTask; class cWorldInterface @@ -60,8 +59,4 @@ public: /** Wakes up the simulators for the specified block */ virtual void WakeUpSimulators(int a_BlockX, int a_BlockY, int a_BlockZ) = 0; - /** Queues a task onto the tick thread, with the specified delay. - The task object will be deleted once the task is finished */ - virtual void ScheduleTask(int a_DelayTicks, cTask * a_Task) = 0; - }; diff --git a/src/ClientHandle.cpp b/src/ClientHandle.cpp index 61ec73633..9a3c59b86 100644 --- a/src/ClientHandle.cpp +++ b/src/ClientHandle.cpp @@ -1740,7 +1740,8 @@ void cClientHandle::HandleEntityLeaveBed(int a_EntityID) return; } - cBlockBedHandler::SetBedOccupationState(cChunkInterface(GetPlayer()->GetWorld()->GetChunkMap()), GetPlayer()->GetLastBedPos(), false); + cChunkInterface Interface(GetPlayer()->GetWorld()->GetChunkMap()); + cBlockBedHandler::SetBedOccupationState(Interface, GetPlayer()->GetLastBedPos(), false); GetPlayer()->SetIsInBed(false); } diff --git a/src/World.cpp b/src/World.cpp index 0f3740877..e0e32c86b 100644 --- a/src/World.cpp +++ b/src/World.cpp @@ -47,7 +47,6 @@ #include "Generating/Trees.h" #include "Bindings/PluginManager.h" #include "Blocks/BlockHandler.h" -#include "Blocks/BlockBed.cpp" #include "Tracer.h" @@ -3621,30 +3620,6 @@ void cWorld::cTaskSendBlockToAllPlayers::Run(cWorld & a_World) -//////////////////////////////////////////////////////////////////////////////// -// cWorld::cTaskSendBlockToAllPlayers - -cWorld::cTaskTryAwakeSleepingPlayers::cTaskTryAwakeSleepingPlayers(const Vector3i & a_Position, cChunkInterface & a_ChunkInterface) : - m_Position(a_Position), - m_ChunkInterface(a_ChunkInterface) -{ -} - -void cWorld::cTaskTryAwakeSleepingPlayers::Run(cWorld & a_World) -{ - cTimeFastForwardTester Tester; - if (a_World.ForEachPlayer(Tester)) - { - cPlayerBedStateUnsetter Unsetter(m_Position, m_ChunkInterface); - a_World.ForEachPlayer(Unsetter); - a_World.SetTimeOfDay(0); - } -} - - - - - //////////////////////////////////////////////////////////////////////////////// // cWorld::cChunkGeneratorCallbacks: diff --git a/src/World.h b/src/World.h index 8b33cea58..3cac71a36 100644 --- a/src/World.h +++ b/src/World.h @@ -45,7 +45,6 @@ class cEntity; class cBlockEntity; class cWorldGenerator; // The generator that actually generates the chunks for a single world class cChunkGenerator; // The thread responsible for generating chunks -class cChunkInterface; class cBeaconEntity; class cChestEntity; class cDispenserEntity; @@ -141,21 +140,6 @@ public: std::vector m_SendQueue; }; - class cTaskTryAwakeSleepingPlayers : - public cTask - { - public: - cTaskTryAwakeSleepingPlayers(const Vector3i & a_Position, cChunkInterface & a_ChunkInterface); - - protected: - // cTask overrides: - virtual void Run(cWorld & a_World) override; - - private: - Vector3i m_Position; - cChunkInterface & m_ChunkInterface; - }; - static const char * GetClassStatic(void) // Needed for ManualBindings's ForEach templates { @@ -711,7 +695,7 @@ public: /** Queues a task onto the tick thread, with the specified delay. The task object will be deleted once the task is finished */ - virtual void ScheduleTask(int a_DelayTicks, cTask * a_Task) override; + void ScheduleTask(int a_DelayTicks, cTask * a_Task); /** Returns the number of chunks loaded */ int GetNumChunks() const; // tolua_export -- cgit v1.2.3